package com.pig4cloud.pig.module.api.entity.mer;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pig4cloud.pig.common.core.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;

/**
 * 结算金额对象 mer_egg_settlement
 *
 * @author ruoyi
 * @date 2022-05-20
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("mer_egg_settlement")
public class MerEggSettlement implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Integer id;

    @Excel(name = "商家名称")
	private String merName;
    /**
     * 领蛋超市id
     */
    private Integer merId;

    /**
     * $column.columnComment
     */
    private Integer userId;

    /**
     * $column.columnComment
     */
    private Long sysUserId;

    /**
     * 账号编号
     */
	@Excel(name = "账号编号")
    private String settlementNo;


	@Excel(name = "平台流水号")
	private String tradeNo;

    /**
     * 结算开始日期
     */
	@Excel(name = "结算开始日期")
    private String beginDate;

    /**
     * 结算结束日期
     */
	@Excel(name = "结算结束日期")
    private String endDate;

    /**
     * 结算状态 0  - 待结算  1 - 已结算  2 - 取消结算 3 - 已打款
	 * 结算状态 0  - 待审核  1 - 已审核  2 - 已结算 3 - 已打款
     */
    private Integer state;


	@Excel(name = "结算状态")
	@TableField(exist = false)
	private String stateStr;

    /**
     * 添加时间
     */
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 创建人
     */
    @TableField(fill = FieldFill.INSERT)
    private String createBy;


    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date payTime;

    private String payStr;

    private String rebackStr;

    private String errCodeDes;

    private String resultCode;


	/**
	 * 申请结算数量
	 */
	@Excel(name = "申请结算数量")
    private Integer totalCount;

    /**
     * 申请结算金额
     */
	@Excel(name = "申请结算金额")
    private BigDecimal regPayMoney;

    /**
     * 实际支付
     */
	@Excel(name = "实际结算金额")
    private BigDecimal payMoney;

    /**
     * 违规扣除金额
     */
	@Excel(name = "违规扣除金额")
    private BigDecimal outRuleMoney;

    private String wxOpenId;

    /**
     *  支付状态  提现支付状态 0 - 待审核   1 - 支付成功  2 - 支付失败  3 - 拒绝支付
     */
    private Integer payState;

	/**
	 *  支付状态
	 */
	@Excel(name = "支付状态")
	@TableField(exist = false)
	private String payStateStr;

	/**
	 *  结算类型  0 - 微信零钱结算  1 - 银行卡结算
	 */
	private Integer settleType;

    /**
     * 结算的银行卡号
     */
    private String payCardNo;

    /**
     * 结算的银行卡账户名
     */
    private String payCardName;

    /**
     * 结算银行名称
     */
    private String payBankName;

    /**
     * 结算的微信账号id  split_account 表的id
     */
    private Integer payAccountId;

    private Long checkSysUserId;

    private String checkSysUserName;

    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date checkTime;

	/**
	 *
	 */
	private Integer checkState;

    private String checkResult;

	private Long submitSysUserId;

	private String submitUserName;

	@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date submitTime;

	/**
	 *  鸡蛋的计算单价
	 */
	private BigDecimal eggSinglePrice;

	/**
	 *  确认打款说明
	 */
	private String submitResult;


	/**
	 * 备注信息
	 */
	@Excel(name = "备注信息")
	private String remark;


	@TableField(exist = false)
	private String nickName;

}
